using System;
using Gtk;
using NHibernate.Cfg;
using NHibernate;

namespace PVentas
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			Application.Init ();
			
			Configuration configuration = new Configuration();
			configuration.Configure();

			configuration.AddAssembly("PVentas");
			
			ISessionFactory sessionFactory = configuration.BuildSessionFactory();
			
			ISession session = sessionFactory.OpenSession();
			
			//load categoria
			Categoria categoria = session.Load<Categoria>(2L);
			
			Console.WriteLine("categoria.Nombre={0}", categoria.Nombre);
			
			IQuery query = session.CreateQuery("Select c From Categoria c");
			foreach (Categoria cat in query.Enumerable())
			{
				Console.WriteLine("Categoria: " + cat.Nombre);
			}
			
			//load articulo
			Articulo articulo = session.Load<Articulo>(2L);
			
			Console.WriteLine("articulo.Nombre={0}", articulo.Nombre);
			
			//load cliente
			Cliente cliente = session.Load<Cliente>(1L);
			
			Console.WriteLine("cliente.Nombre={0}", cliente.Nombre);
			
			//load pedido
			Pedido pedido = session.Load<Pedido>(2L);
			
			Console.WriteLine("pedido.Cliente={0}", pedido.Cliente.Nombre);
			
			//load pedidoLinea
			PedidoLinea pedidoLinea = session.Load<PedidoLinea>(2L);
			
			Console.WriteLine("pedidoLinea.Precio={0}", pedidoLinea.Precio);
			
			session.Close();
			
			sessionFactory.Close();
			
			MainWindow win = new MainWindow ();
			win.Show ();
			Application.Run ();
		}
	}
}
